home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 2 / AACD 2.iso / AACD / Magazine / GraphicsCards / Warp3D / Developer / Include / stormprotos / warp3d_sprotos.h < prev   
Encoding:
C/C++ Source or Header  |  1999-02-03  |  7.7 KB  |  128 lines

  1. #ifndef STORMPROTOS_WARP3D_SPROTOS_H
  2. #define STORMPROTOS_WARP3D_SPROTOS_H
  3.  
  4. #ifdef __PPC__
  5.  
  6. extern "AmigaLib" Warp3DPPCBase {
  7.  
  8. /************************** Context functions ***********************************/
  9. W3D_Context    *W3D_CreateContext(ULONG *error, struct TagItem *CCTags) = -30;
  10. void            W3D_DestroyContext(W3D_Context *context) = -36;
  11. ULONG           W3D_GetState(W3D_Context *context, ULONG state) = -42;
  12. ULONG           W3D_SetState(W3D_Context *context, ULONG state, ULONG action) = -48;
  13. ULONG           W3D_Hint(W3D_Context *context, ULONG mode, ULONG quality) = -294;
  14.  
  15. /************************** Hardware/Driver functions ***************************/
  16. ULONG           W3D_CheckDriver() = -54;
  17. ULONG           W3D_LockHardware(W3D_Context *context) = -60;
  18. void            W3D_UnLockHardware(W3D_Context *context) = -66;
  19. void            W3D_WaitIdle(W3D_Context *context) = -72;
  20. ULONG           W3D_CheckIdle(W3D_Context *context) = -78;
  21. ULONG           W3D_Query(W3D_Context *context, ULONG query, ULONG destfmt) = -84;
  22. ULONG           W3D_GetTexFmtInfo(W3D_Context*, ULONG texfmt, ULONG destfmt) = -90;
  23. ULONG           W3D_GetDriverState(W3D_Context *context) = -306;
  24. ULONG           W3D_GetDestFmt(void) = -384;
  25. W3D_Driver **   W3D_GetDrivers(void) = -402;
  26. ULONG           W3D_QueryDriver(W3D_Driver* driver, ULONG query, ULONG destfmt) = -408;
  27. ULONG           W3D_GetDriverTexFmtInfo(W3D_Driver* driver, ULONG query, ULONG destfmt) = -414;
  28. ULONG           W3D_RequestMode(struct TagItem *taglist) = -420;
  29. W3D_Driver *    W3D_TestMode(ULONG ModeID) = -438;
  30.  
  31. /************************** Texture functions ***********************************/
  32. W3D_Texture    *W3D_AllocTexObj(W3D_Context *context, ULONG *error,
  33.                                         struct TagItem *ATOTags) = -96;
  34. void            W3D_FreeTexObj(W3D_Context *context, W3D_Texture *texture) = -102;
  35. void            W3D_ReleaseTexture(W3D_Context *context, W3D_Texture *texture) = -108;
  36. void            W3D_FlushTextures(W3D_Context *context) = -114;
  37. ULONG           W3D_SetFilter(W3D_Context *context, W3D_Texture *texture,
  38.                                         ULONG MinFilter, ULONG MagFilter) = -120;
  39. ULONG           W3D_SetTexEnv(W3D_Context *context, W3D_Texture *texture,
  40.                                         ULONG envparam, W3D_Color *envcolor) = -126;
  41. ULONG           W3D_SetWrapMode(W3D_Context *context, W3D_Texture *texture,
  42.                                         ULONG mode_s, ULONG mode_t, W3D_Color *bordercolor) = -132;
  43. ULONG           W3D_UpdateTexImage(W3D_Context *context, W3D_Texture *texture,
  44.                                         void *teximage, int level, ULONG *palette) = -138;
  45. ULONG           W3D_UpdateTexSubImage(W3D_Context *context, W3D_Texture *texture, void *teximage,
  46.                     ULONG level, ULONG *palette, W3D_Scissor* scissor, ULONG srcbpr) = -372;
  47. ULONG           W3D_UploadTexture(W3D_Context *context, W3D_Texture *texture) = -144;
  48. ULONG           W3D_FreeAllTexObj(W3D_Context *context) = -378;
  49.  
  50. /************************** Drawing functions ***********************************/
  51. ULONG           W3D_DrawLine(W3D_Context *context, W3D_Line *line) = -150;
  52. ULONG           W3D_DrawPoint(W3D_Context *context, W3D_Point *point) = -156;
  53. ULONG           W3D_DrawTriangle(W3D_Context *context, W3D_Triangle *triangle) = -162;
  54. ULONG           W3D_DrawTriFan(W3D_Context *context, W3D_Triangles *triangles) = -168;
  55. ULONG           W3D_DrawTriStrip(W3D_Context *context, W3D_Triangles *triangles) = -174;
  56. ULONG           W3D_Flush(W3D_Context *context) = -312;
  57. ULONG           W3D_DrawLineStrip(W3D_Context *context, W3D_Lines *lines) = -390;
  58. ULONG           W3D_DrawLineLoop(W3D_Context *context, W3D_Lines *lines) = -396;
  59.  
  60. /************************** Effect functions ************************************/
  61. ULONG           W3D_SetAlphaMode(W3D_Context *context, ULONG mode, W3D_Float *refval) = -180;
  62. ULONG           W3D_SetBlendMode(W3D_Context *context, ULONG srcfunc, ULONG dstfunc) = -186;
  63. ULONG           W3D_SetDrawRegion(W3D_Context *context, struct BitMap *bm,
  64.                                         int yoffset, W3D_Scissor *scissor) = -192;
  65. ULONG           W3D_SetDrawRegionWBM(W3D_Context *context, W3D_Bitmap *bm,
  66.                                         W3D_Scissor *scissor) = -300;
  67. ULONG           W3D_SetFogParams(W3D_Context *context, W3D_Fog *fogparams,
  68.                                         ULONG fogmode) = -198;
  69. ULONG           W3D_SetLogicOp(W3D_Context *context, ULONG operation) = -288;
  70. ULONG           W3D_SetColorMask(W3D_Context *context, W3D_Bool red, W3D_Bool green,
  71.                                         W3D_Bool blue, W3D_Bool alpha) = -204;
  72. ULONG           W3D_SetPenMask(W3D_Context *context, ULONG pen) = -318;
  73. ULONG           W3D_SetCurrentColor(W3D_Context *context, W3D_Color *color) = -360;
  74. ULONG           W3D_SetCurrentPen(W3D_Context *context, ULONG pen) = -366;
  75. void            W3D_SetScissor(W3D_Context *context, W3D_Scissor *scissor) = -426;
  76. void            W3D_FlushFrame(W3D_Context *context) = -432;
  77.  
  78. /************************** ZBuffer functions ***********************************/
  79. ULONG           W3D_AllocZBuffer(W3D_Context *context) = -216;
  80. ULONG           W3D_FreeZBuffer(W3D_Context *context) = -222;
  81. ULONG           W3D_ClearZBuffer(W3D_Context *context, W3D_Double *clearvalue) = -228;
  82. ULONG           W3D_ReadZPixel(W3D_Context *context, ULONG x, ULONG y,
  83.                                         W3D_Double *z) = -234;
  84. ULONG           W3D_ReadZSpan(W3D_Context *context, ULONG x, ULONG y,
  85.                                         ULONG n, W3D_Double z[]) = -240;
  86. ULONG           W3D_SetZCompareMode(W3D_Context *context, ULONG mode) = -246;
  87. ULONG           W3D_WriteZPixel(W3D_Context *context, ULONG x, ULONG y,
  88.                                         W3D_Double *z) = -348;
  89. ULONG           W3D_WriteZSpan(W3D_Context *context, ULONG x, ULONG y,
  90.                                         ULONG n, W3D_Double z[], UBYTE mask[]) = -354;
  91.  
  92. /************************** StencilBuffer functions *****************************/
  93. ULONG           W3D_AllocStencilBuffer(W3D_Context *context) = -252;
  94. ULONG           W3D_ClearStencilBuffer(W3D_Context *context, ULONG *clearvalue) = -258;
  95. ULONG           W3D_FillStencilBuffer(W3D_Context *context, ULONG x, ULONG y,
  96.                                         ULONG width, ULONG height, ULONG depth,
  97.                                         void *data) = -264;
  98. ULONG           W3D_FreeStencilBuffer(W3D_Context *context) = -270;
  99. ULONG           W3D_ReadStencilPixel(W3D_Context *context, ULONG x, ULONG y,
  100.                                         ULONG *st) = -276;
  101. ULONG           W3D_ReadStencilSpan(W3D_Context *context, ULONG x, ULONG y,
  102.                                         ULONG n, ULONG st[]) = -282;
  103. ULONG           W3D_SetStencilFunc( W3D_Context *context, ULONG func, ULONG refvalue,
  104.                                         ULONG mask) = -210;
  105. ULONG           W3D_SetStencilOp( W3D_Context *context, ULONG sfail, ULONG dpfail,
  106.                                         ULONG dppass) = -324;
  107. ULONG           W3D_SetWriteMask( W3D_Context *context, ULONG mask) = -330;
  108. ULONG           W3D_WriteStencilPixel( W3D_Context *context, ULONG x, ULONG y, ULONG st) = -336;
  109. ULONG           W3D_WriteStencilSpan( W3D_Context *context, ULONG x, ULONG y, ULONG n,
  110.                                         ULONG st[], UBYTE mask[]) = -342;
  111.  
  112. };
  113.  
  114. __inline W3D_Context    *W3D_CreateContextTags(ULONG *error, Tag tag1, ...)
  115. {
  116.         return W3D_CreateContext(error, (struct TagItem *)&tag1);
  117. }
  118.  
  119. __inline W3D_Texture    *W3D_AllocTexObjTags(W3D_Context *context, ULONG *error,
  120.                                          Tag tag1, ...)
  121. {
  122.         return W3D_AllocTexObj(context, error, (struct TagItem *)&tag1);
  123. }
  124.  
  125. #endif /* __PPC__ */
  126.  
  127. #endif /* STORMPROTOS_WARP3D_SPROTOS_H */
  128.